# Copyright 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# NOTE: This class is auto generated by the swagger code generator program.
# https://github.com/swagger-api/swagger-codegen.git
# Do not edit the class manually.

defmodule GoogleApi.Partners.V2.Model.LogUserEventRequest do
  @moduledoc """
  Request message for LogUserEvent.

  ## Attributes

  - eventAction (String.t): The action that occurred. Defaults to: `null`.
    - Enum - one of [EVENT_ACTION_UNSPECIFIED, SMB_CLICKED_FIND_A_PARTNER_BUTTON_BOTTOM, SMB_CLICKED_FIND_A_PARTNER_BUTTON_TOP, AGENCY_CLICKED_JOIN_NOW_BUTTON_BOTTOM, AGENCY_CLICKED_JOIN_NOW_BUTTON_TOP, SMB_CANCELED_PARTNER_CONTACT_FORM, SMB_CLICKED_CONTACT_A_PARTNER, SMB_COMPLETED_PARTNER_CONTACT_FORM, SMB_ENTERED_EMAIL_IN_CONTACT_PARTNER_FORM, SMB_ENTERED_NAME_IN_CONTACT_PARTNER_FORM, SMB_ENTERED_PHONE_IN_CONTACT_PARTNER_FORM, SMB_FAILED_RECAPTCHA_IN_CONTACT_PARTNER_FORM, PARTNER_VIEWED_BY_SMB, SMB_CANCELED_PARTNER_CONTACT_FORM_ON_GPS, SMB_CHANGED_A_SEARCH_PARAMETER_TOP, SMB_CLICKED_CONTACT_A_PARTNER_ON_GPS, SMB_CLICKED_SHOW_MORE_PARTNERS_BUTTON_BOTTOM, SMB_COMPLETED_PARTNER_CONTACT_FORM_ON_GPS, SMB_NO_PARTNERS_AVAILABLE_WITH_SEARCH_CRITERIA, SMB_PERFORMED_SEARCH_ON_GPS, SMB_VIEWED_A_PARTNER_ON_GPS, SMB_CANCELED_PARTNER_CONTACT_FORM_ON_PROFILE_PAGE, SMB_CLICKED_CONTACT_A_PARTNER_ON_PROFILE_PAGE, SMB_CLICKED_PARTNER_WEBSITE, SMB_COMPLETED_PARTNER_CONTACT_FORM_ON_PROFILE_PAGE, SMB_VIEWED_A_PARTNER_PROFILE, AGENCY_CLICKED_ACCEPT_TOS_BUTTON, AGENCY_CHANGED_TOS_COUNTRY, AGENCY_ADDED_ADDRESS_IN_MY_PROFILE_PORTAL, AGENCY_ADDED_PHONE_NUMBER_IN_MY_PROFILE_PORTAL, AGENCY_CHANGED_PRIMARY_ACCOUNT_ASSOCIATION, AGENCY_CHANGED_PRIMARY_COUNTRY_ASSOCIATION, AGENCY_CLICKED_AFFILIATE_BUTTON_IN_MY_PROFILE_IN_PORTAL, AGENCY_CLICKED_GIVE_EDIT_ACCESS_IN_MY_PROFILE_PORTAL, AGENCY_CLICKED_LOG_OUT_IN_MY_PROFILE_PORTAL, AGENCY_CLICKED_MY_PROFILE_LEFT_NAV_IN_PORTAL, AGENCY_CLICKED_SAVE_AND_CONTINUE_AT_BOT_OF_COMPLETE_PROFILE, AGENCY_CLICKED_UNAFFILIATE_IN_MY_PROFILE_PORTAL, AGENCY_FILLED_OUT_COMP_AFFILIATION_IN_MY_PROFILE_PORTAL, AGENCY_SUCCESSFULLY_CONNECTED_WITH_COMPANY_IN_MY_PROFILE, AGENCY_CLICKED_CREATE_MCC_IN_MY_PROFILE_PORTAL, AGENCY_DIDNT_HAVE_AN_MCC_ASSOCIATED_ON_COMPLETE_PROFILE, AGENCY_HAD_AN_MCC_ASSOCIATED_ON_COMPLETE_PROFILE, AGENCY_ADDED_JOB_FUNCTION_IN_MY_PROFILE_PORTAL, AGENCY_LOOKED_AT_JOB_FUNCTION_DROP_DOWN, AGENCY_SELECTED_ACCOUNT_MANAGER_AS_JOB_FUNCTION, AGENCY_SELECTED_ACCOUNT_PLANNER_AS_JOB_FUNCTION, AGENCY_SELECTED_ANALYTICS_AS_JOB_FUNCTION, AGENCY_SELECTED_CREATIVE_AS_JOB_FUNCTION, AGENCY_SELECTED_MEDIA_BUYER_AS_JOB_FUNCTION, AGENCY_SELECTED_MEDIA_PLANNER_AS_JOB_FUNCTION, AGENCY_SELECTED_OTHER_AS_JOB_FUNCTION, AGENCY_SELECTED_PRODUCTION_AS_JOB_FUNCTION, AGENCY_SELECTED_SEO_AS_JOB_FUNCTION, AGENCY_SELECTED_SALES_REP_AS_JOB_FUNCTION, AGENCY_SELECTED_SEARCH_SPECIALIST_AS_JOB_FUNCTION, AGENCY_ADDED_CHANNELS_IN_MY_PROFILE_PORTAL, AGENCY_LOOKED_AT_ADD_CHANNEL_DROP_DOWN, AGENCY_SELECTED_CROSS_CHANNEL_FROM_ADD_CHANNEL, AGENCY_SELECTED_DISPLAY_FROM_ADD_CHANNEL, AGENCY_SELECTED_MOBILE_FROM_ADD_CHANNEL, AGENCY_SELECTED_SEARCH_FROM_ADD_CHANNEL, AGENCY_SELECTED_SOCIAL_FROM_ADD_CHANNEL, AGENCY_SELECTED_TOOLS_FROM_ADD_CHANNEL, AGENCY_SELECTED_YOUTUBE_FROM_ADD_CHANNEL, AGENCY_ADDED_INDUSTRIES_IN_MY_PROFILE_PORTAL, AGENCY_CHANGED_ADD_INDUSTRIES_DROP_DOWN, AGENCY_ADDED_MARKETS_IN_MY_PROFILE_PORTAL, AGENCY_CHANGED_ADD_MARKETS_DROP_DOWN, AGENCY_CHECKED_RECIEVE_MAIL_PROMOTIONS_MYPROFILE, AGENCY_CHECKED_RECIEVE_MAIL_PROMOTIONS_SIGNUP, AGENCY_SELECTED_OPT_IN_BETA_TESTS_AND_MKT_RESEARCH, AGENCY_SELECTED_OPT_IN_BETA_TESTS_IN_MY_PROFILE_PORTAL, AGENCY_SELECTED_OPT_IN_NEWS_IN_MY_PROFILE_PORTAL, AGENCY_SELECTED_OPT_IN_NEWS_INVITATIONS_AND_PROMOS, AGENCY_SELECTED_OPT_IN_PERFORMANCE_SUG_IN_MY_PROFILE_PORTAL, AGENCY_SELECTED_OPT_IN_PERFORMANCE_SUGGESTIONS, AGENCY_SELECTED_OPT_IN_SELECT_ALL_EMAIL_NOTIFICATIONS, AGENCY_SELECTED_SELECT_ALL_OPT_INS_IN_MY_PROFILE_PORTAL, AGENCY_CLICKED_BACK_BUTTON_ON_CONNECT_WITH_COMPANY, AGENCY_CLICKED_CONTINUE_TO_OVERVIEW_ON_CONNECT_WITH_COMPANY, AGECNY_CLICKED_CREATE_MCC_CONNECT_WITH_COMPANY_NOT_FOUND, AGECNY_CLICKED_GIVE_EDIT_ACCESS_CONNECT_WITH_COMPANY_NOT_FOUND, AGECNY_CLICKED_LOG_OUT_CONNECT_WITH_COMPANY_NOT_FOUND, AGENCY_CLICKED_SKIP_FOR_NOW_ON_CONNECT_WITH_COMPANY_PAGE, AGENCY_CLOSED_CONNECTED_TO_COMPANY_X_BUTTON_WRONG_COMPANY, AGENCY_COMPLETED_FIELD_CONNECT_WITH_COMPANY, AGECNY_FOUND_COMPANY_TO_CONNECT_WITH, AGENCY_SUCCESSFULLY_CREATED_COMPANY, AGENCY_ADDED_NEW_COMPANY_LOCATION, AGENCY_CLICKED_COMMUNITY_JOIN_NOW_LINK_IN_PORTAL_NOTIFICATIONS, AGENCY_CLICKED_CONNECT_TO_COMPANY_LINK_IN_PORTAL_NOTIFICATIONS, AGENCY_CLICKED_GET_CERTIFIED_LINK_IN_PORTAL_NOTIFICATIONS, AGENCY_CLICKED_GET_VIDEO_ADS_CERTIFIED_LINK_IN_PORTAL_NOTIFICATIONS, AGENCY_CLICKED_LINK_TO_MCC_LINK_IN_PORTAL_NOTIFICATIONS, AGENCY_CLICKED_INSIGHT_CONTENT_IN_PORTAL, AGENCY_CLICKED_INSIGHTS_VIEW_NOW_PITCH_DECKS_IN_PORTAL, AGENCY_CLICKED_INSIGHTS_LEFT_NAV_IN_PORTAL, AGENCY_CLICKED_INSIGHTS_UPLOAD_CONTENT, AGENCY_CLICKED_INSIGHTS_VIEWED_DEPRECATED, AGENCY_CLICKED_COMMUNITY_LEFT_NAV_IN_PORTAL, AGENCY_CLICKED_JOIN_COMMUNITY_BUTTON_COMMUNITY_PORTAL, AGENCY_CLICKED_CERTIFICATIONS_LEFT_NAV_IN_PORTAL, AGENCY_CLICKED_CERTIFICATIONS_PRODUCT_LEFT_NAV_IN_PORTAL, AGENCY_CLICKED_PARTNER_STATUS_LEFT_NAV_IN_PORTAL, AGENCY_CLICKED_PARTNER_STATUS_PRODUCT_LEFT_NAV_IN_PORTAL, AGENCY_CLICKED_OFFERS_LEFT_NAV_IN_PORTAL, AGENCY_CLICKED_SEND_BUTTON_ON_OFFERS_PAGE, AGENCY_CLICKED_EXAM_DETAILS_ON_CERT_ADWORDS_PAGE, AGENCY_CLICKED_SEE_EXAMS_CERTIFICATION_MAIN_PAGE, AGENCY_CLICKED_TAKE_EXAM_ON_CERT_EXAM_PAGE, AGENCY_OPENED_LAST_ADMIN_DIALOG, AGENCY_OPENED_DIALOG_WITH_NO_USERS, AGENCY_PROMOTED_USER_TO_ADMIN, AGENCY_UNAFFILIATED, AGENCY_CHANGED_ROLES, SMB_CLICKED_COMPANY_NAME_LINK_TO_PROFILE, SMB_VIEWED_ADWORDS_CERTIFICATE, SMB_VIEWED_ADWORDS_SEARCH_CERTIFICATE, SMB_VIEWED_ADWORDS_DISPLAY_CERTIFICATE, SMB_CLICKED_ADWORDS_CERTIFICATE_HELP_ICON, SMB_VIEWED_ANALYTICS_CERTIFICATE, SMB_VIEWED_DOUBLECLICK_CERTIFICATE, SMB_VIEWED_MOBILE_SITES_CERTIFICATE, SMB_VIEWED_VIDEO_ADS_CERTIFICATE, SMB_VIEWED_SHOPPING_CERTIFICATE, SMB_CLICKED_VIDEO_ADS_CERTIFICATE_HELP_ICON, SMB_VIEWED_DIGITAL_SALES_CERTIFICATE, CLICKED_HELP_AT_BOTTOM, CLICKED_HELP_AT_TOP, CLIENT_ERROR, AGENCY_CLICKED_LEFT_NAV_STORIES, CLICKED, SMB_VIEWED_MOBILE_CERTIFICATE, AGENCY_FAILED_COMPANY_VERIFICATION, VISITED_LANDING, VISITED_GPS, VISITED_AGENCY_PORTAL, CANCELLED_INDIVIDUAL_SIGN_UP, CANCELLED_COMPANY_SIGN_UP, AGENCY_CLICKED_SIGN_IN_BUTTON_TOP, AGENCY_CLICKED_SAVE_AND_CONTINUE_AT_BOT_OF_INCOMPLETE_PROFILE, AGENCY_UNSELECTED_OPT_IN_NEWS_INVITATIONS_AND_PROMOS, AGENCY_UNSELECTED_OPT_IN_BETA_TESTS_AND_MKT_RESEARCH, AGENCY_UNSELECTED_OPT_IN_PERFORMANCE_SUGGESTIONS, AGENCY_SELECTED_OPT_OUT_UNSELECT_ALL_EMAIL_NOTIFICATIONS, AGENCY_LINKED_INDIVIDUAL_MCC, AGENCY_SUGGESTED_TO_USER, AGENCY_IGNORED_SUGGESTED_AGENCIES_AND_SEARCHED, AGENCY_PICKED_SUGGESTED_AGENCY, AGENCY_SEARCHED_FOR_AGENCIES, AGENCY_PICKED_SEARCHED_AGENCY, AGENCY_DISMISSED_AFFILIATION_WIDGET, AGENCY_CLICKED_INSIGHTS_DOWNLOAD_CONTENT, AGENCY_PROGRESS_INSIGHTS_VIEW_CONTENT, AGENCY_CLICKED_CANCEL_ACCEPT_TOS_BUTTON, SMB_ENTERED_WEBSITE_IN_CONTACT_PARTNER_FORM, AGENCY_SELECTED_OPT_IN_AFA_MIGRATION, AGENCY_SELECTED_OPT_OUT_AFA_MIGRATION]
  - eventCategory (String.t): The category the action belongs to. Defaults to: `null`.
    - Enum - one of [EVENT_CATEGORY_UNSPECIFIED, GOOGLE_PARTNER_SEARCH, GOOGLE_PARTNER_SIGNUP_FLOW, GOOGLE_PARTNER_PORTAL, GOOGLE_PARTNER_PORTAL_MY_PROFILE, GOOGLE_PARTNER_PORTAL_CERTIFICATIONS, GOOGLE_PARTNER_PORTAL_COMMUNITY, GOOGLE_PARTNER_PORTAL_INSIGHTS, GOOGLE_PARTNER_PORTAL_CLIENTS, GOOGLE_PARTNER_PUBLIC_USER_PROFILE, GOOGLE_PARTNER_PANEL, GOOGLE_PARTNER_PORTAL_LAST_ADMIN_DIALOG, GOOGLE_PARTNER_CLIENT, GOOGLE_PARTNER_PORTAL_COMPANY_PROFILE, EXTERNAL_LINKS, GOOGLE_PARTNER_LANDING]
  - eventDatas ([EventData]): List of event data for the event. Defaults to: `null`.
  - eventScope (String.t): The scope of the event. Defaults to: `null`.
    - Enum - one of [EVENT_SCOPE_UNSPECIFIED, VISITOR, SESSION, PAGE]
  - lead (Lead): Advertiser lead information. Defaults to: `null`.
  - requestMetadata (RequestMetadata): Current request metadata. Defaults to: `null`.
  - url (String.t): The URL where the event occurred. Defaults to: `null`.
  """

  use GoogleApi.Gax.ModelBase

  @type t :: %__MODULE__{
          :eventAction => any(),
          :eventCategory => any(),
          :eventDatas => list(GoogleApi.Partners.V2.Model.EventData.t()),
          :eventScope => any(),
          :lead => GoogleApi.Partners.V2.Model.Lead.t(),
          :requestMetadata => GoogleApi.Partners.V2.Model.RequestMetadata.t(),
          :url => any()
        }

  field(:eventAction)
  field(:eventCategory)
  field(:eventDatas, as: GoogleApi.Partners.V2.Model.EventData, type: :list)
  field(:eventScope)
  field(:lead, as: GoogleApi.Partners.V2.Model.Lead)
  field(:requestMetadata, as: GoogleApi.Partners.V2.Model.RequestMetadata)
  field(:url)
end

defimpl Poison.Decoder, for: GoogleApi.Partners.V2.Model.LogUserEventRequest do
  def decode(value, options) do
    GoogleApi.Partners.V2.Model.LogUserEventRequest.decode(value, options)
  end
end

defimpl Poison.Encoder, for: GoogleApi.Partners.V2.Model.LogUserEventRequest do
  def encode(value, options) do
    GoogleApi.Gax.ModelBase.encode(value, options)
  end
end
